home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 26 / CU Amiga Magazine's Super CD-ROM 26 (1998)(EMAP Images)(GB)[!][issue 1998-09].iso / CUCD / PowerPC / uae-0.8.4 / UAEWB.aux < prev    next >
Text File  |  1998-06-06  |  10KB  |  294 lines

  1. /*rx
  2.  *
  3.  * UAEWB.aux - auxiliary rx script for UAEWB
  4.  *
  5.  * $VER: UAEWB.aux 0.2 (26.01.98) © by Samuel Devulder
  6.  *
  7.  * Usage: UAEWB.aux [a500|ham|default|about|use|save]
  8. */
  9.  
  10. Cycle_Active            = 0x80421788
  11. Selected                = 0x8042654B
  12. Slider_Level            = 0x8042AE3A
  13. MUIA_Background         = 0x8042545b
  14. MUIA_ControlChar        = 0x8042120b
  15. MUIA_Frame              = 0x8042ac64
  16. MUIA_Text_HiChar        = 0x804218ff
  17. MUIA_Window_DepthGadget = 0x80421923
  18. MUIA_Window_DragBar     = 0x8042045d
  19. MUIA_Window_SizeGadget  = 0x8042e33d
  20.  
  21. MUII_WindowBack  = 0
  22. MUIV_Frame_None  = 0
  23. FALSE = 0
  24.  
  25. OPTIONS RESULTS
  26. PARSE ARG ACTION .
  27. ACTION=upper(ACTION)
  28.  
  29. ADDRESS UAEWB
  30.  
  31. UAEPREFS = "ENV:UAEWB"
  32.  
  33. /* if set prefs to default */
  34. IF ACTION='DEFAULT' THEN DO
  35.   CYCLE  ID SIZE LABEL "LORES"
  36.   CYCLE  ID SCRN LABEL "PUBLIC"
  37.   STRING ID SM CONTENT ""
  38.   CYCLE  ID DEPTH LABEL "N/A"
  39.   SLIDER ID SLDR ATTRS 0x8042AE3A  "1"
  40.   CHECK  ID GRAY ATTRS 0x8042654B  "0"
  41.   CHECK  ID DITH ATTRS 0x8042654B  "1"
  42.   CYCLE  ID CHIP LABEL "2 Mb"
  43.   CYCLE  ID SLOW LABEL "None"
  44.   CYCLE  ID FAST LABEL "None"
  45.   POPSLIDER ID Z3RAM ATTRS 0x8042AE3A  "0"
  46.   POPASL ID ROMF CONTENT "DEVS:Kickstarts/"
  47.   POPASL ID DF0 CONTENT ""
  48.   POPASL ID DF1 CONTENT ""
  49.   POPASL ID DF2 CONTENT ""
  50.   POPASL ID DF3 CONTENT ""
  51.   STRING ID VMOU1 CONTENT ""
  52.   STRING ID VMOU2 CONTENT ""
  53.   POPASL ID VPAT1 CONTENT ""
  54.   POPASL ID VPAT2 CONTENT ""
  55.   CYCLE  ID SOUND LABEL "NONE"
  56.   CYCLE  ID AUDBIT LABEL "8 bits"
  57.   CYCLE  ID AUDMS LABEL "mono"
  58.   POPSLIDER ID FREQ ATTRS 0x8042AE3A  "11"
  59.   POPSLIDER ID BUFF ATTRS 0x8042AE3A  "8"
  60.   POPASL ID SFILE CONTENT ""
  61.   CYCLE  ID FBLT LABEL "ON"
  62.   CYCLE  ID GUI LABEL "Enabled"
  63.   CYCLE  ID JOY0 LABEL "Mouse"
  64.   CYCLE  ID JOY1 LABEL "Joystick"
  65.   CYCLE  ID CPUT LABEL "68020"
  66.   SLIDER ID CPUR ATTRS 0x8042AE3A "4"
  67.   POPASL ID SIFF CONTENT ""
  68.   STRING ID EXTRA CONTENT ""
  69.   EXIT 0
  70. END; ELSE IF ACTION='A500' THEN DO
  71.   CYCLE  ID CHIP LABEL "512 Kb"
  72.   CYCLE  ID SLOW LABEL "512 Kb"
  73.   CYCLE  ID FAST LABEL "None"
  74.   POPSLIDER ID Z3RAM ATTRS 0x8042AE3A  "0"
  75.   CYCLE  ID CPUT LABEL "68000"
  76.   SLIDER ID CPUR ATTRS 0x8042AE3A "4"
  77.   EXIT 0
  78. END; ELSE IF ACTION='HAM' THEN DO
  79.   STRING ID SM CONTENT "0x21800"
  80.   CYCLE  ID DEPTH LABEL "6"
  81.   CYCLE  ID SCRN LABEL "ModeID"
  82.   EXIT 0
  83. END; ELSE IF ACTION='ABOUT' THEN DO
  84.   WINDOW ID ABOUT ATTRS MUIA_Window_DepthGadget FALSE,
  85.                   MUIA_Window_DragBar FALSE MUIA_Window_SizeGadget FALSE
  86.     GROUP HORIZ
  87.       BUTTON ICON "UAEWB" TRANS ATTRS MUIA_Background MUII_WindowBack,
  88.                                       MUIA_Frame MUIV_Frame_None
  89.       TEXT ATTRS MUIA_Background MUII_WindowBack MUIA_Frame MUIV_Frame_None,
  90.            LABEL "\033cUAE is the UAE Amiga Emulator\n"||,
  91.                  "(\033irecursive definition\033n)\n"||,
  92.                  "by Bernd Schmidt & contributors\n\n"||,
  93.                  "Amiga Port by Samuel Devulder\n\n"||,
  94.                  "This GUI uses MUIRexx\nby Russell Leighton"
  95.     ENDGROUP
  96.     GROUP HORIZ
  97.       SPACE HORIZ
  98.       BUTTON ID OK_BUTT COMMAND """WINDOW ID ABOUT CLOSE""" PORT UAEWB ATTRS MUIA_ControlChar 13 LABEL "Ok" 
  99.       SPACE HORIZ
  100.     ENDGROUP
  101.   ENDWINDOW
  102.   EXIT 0
  103. END
  104.  
  105. /* ELSE use or save */
  106. WINDOW ID WAIT ATTRS 0x80421923 0 0x8042045d 0
  107.   LABEL "\033b\033cPlease wait\nwhile UAE is booting...\033n"
  108. ENDWINDOW
  109.  
  110. IF ~OPEN(ENVFILE,UAEPREFS,"w") then exit(255)
  111. call writeln(ENVFILE,"/*rx*/");
  112. call writeln(ENVFILE,"ADDRESS UAEWB")
  113.  
  114. /* DISPLAY */
  115. UAE_SIZE  = get_val("CYCLE  ID SIZE",LABEL)
  116. UAE_SCRN  = get_val("CYCLE  ID SCRN",LABEL)
  117. UAE_SM    = get_val("STRING ID SM",CONTENT)
  118. UAE_DEPTH = get_val("CYCLE  ID DEPTH",LABEL)
  119. UAE_FRATE = get_val("SLIDER ID SLDR ATTRS" Slider_Level,"")
  120. UAE_GRAY  = get_val("CHECK  ID GRAY ATTRS" Selected,"")
  121. UAE_DITH  = get_val("CHECK  ID DITH ATTRS" Selected,"")
  122.  
  123. /* MEMORY */
  124. UAE_CHIP  = get_val("CYCLE ID CHIP",LABEL)
  125. UAE_SLOW  = get_val("CYCLE ID SLOW",LABEL)
  126. UAE_FAST  = get_val("CYCLE ID FAST",LABEL)
  127. UAE_Z3    = get_val("POPSLIDER ID Z3RAM ATTRS" Slider_Level,"")
  128. UAE_ROM   = get_val("POPASL ID ROMF",CONTENT)
  129.  
  130. /* DISKS */
  131. UAE_DF0   = get_val("POPASL ID DF0",CONTENT)
  132. UAE_DF1   = get_val("POPASL ID DF1",CONTENT)
  133. UAE_DF2   = get_val("POPASL ID DF2",CONTENT)
  134. UAE_DF3   = get_val("POPASL ID DF3",CONTENT)
  135. UAE_VMOU1 = get_val("STRING ID VMOU1",CONTENT)
  136. UAE_VMOU2 = get_val("STRING ID VMOU2",CONTENT)
  137. UAE_VPAT1 = get_val("POPASL ID VPAT1",CONTENT)
  138. UAE_VPAT2 = get_val("POPASL ID VPAT2",CONTENT)
  139.  
  140. /* SOUND */
  141. UAE_SOUND = get_val("CYCLE ID SOUND",LABEL)
  142. UAE_AUDMS = get_val("CYCLE ID AUDMS",LABEL)
  143. UAE_AUDBI = get_val("CYCLE ID AUDBIT",LABEL)
  144. UAE_FREQ  = get_val("POPSLIDER ID FREQ ATTRS" Slider_Level,"")
  145. UAE_BUFF  = get_val("POPSLIDER ID BUFF ATTRS" Slider_Level,"")
  146. UAE_SFILE = get_val("POPASL ID SFILE",CONTENT)
  147.  
  148. /* MISC */
  149. UAE_FBLT  = get_val("CYCLE ID FBLT",LABEL)
  150. UAE_GUI   = get_val("CYCLE ID GUI",LABEL)
  151. UAE_JOY0  = get_val("CYCLE ID JOY0",LABEL)
  152. UAE_JOY1  = get_val("CYCLE ID JOY1",LABEL)
  153. UAE_CPUT  = get_val("CYCLE ID CPUT",LABEL)
  154. UAE_CPUR  = get_val("SLIDER ID CPUR ATTRS" Slider_Level,"")
  155. UAE_SIFF  = get_val("POPASL ID SIFF",CONTENT)
  156. UAE_EXTRA = get_val("STRING ID EXTRA",CONTENT)
  157.  
  158. call CLOSE(ENVFILE)
  159.  
  160. /* IF SAVE prefs to envarc, do it */
  161. IF ACTION='SAVE' THEN ADDRESS COMMAND "COPY "UAEPREFS" ENVARC: NOREQ QUIET"
  162.  
  163. /* create UAE command line */
  164. ADDRESS COMMAND
  165. line = ""
  166.  
  167. /* video options */
  168. UAE_SIZE = upper(UAE_SIZE)
  169. UAE_SCRN = upper(UAE_SCRN)
  170. IF UAE_SIZE = 'LORES' then line = line "-O320:256:XYl"
  171. IF UAE_SIZE = 'HIRES' then line = line "-O640:512:XYd"
  172. IF UAE_SCRN = 'MODEID' then DO
  173.     IF (UAE_DEPTH = "N/A") | (UAE_SM=="") | (UAE_SM=0) THEN DO
  174.       'RequestChoice "UAELauncher - Error" "Please set ModeID and Depth correctly" "Ok!"'
  175.       EXIT 0
  176.     END
  177.     line = line "-H2"
  178.     Delete "ENV:UAESM >NIL:"
  179.     Avail flush ">NIL:"
  180.     SetEnv UAESM UAE_SM":"UAE_DEPTH
  181. END
  182. IF UAE_SCRN = ASLREQ then line = line "-H2"
  183. IF UAE_SCRN = PUBLIC then line = line "-H1"
  184. IF UAE_SCRN = DEFSCR then line = line "-H0"
  185. line = line "-f"UAE_FRATE
  186. IF  UAE_GRAY then line = line "-T"
  187. IF ~UAE_DITH then line = line "-x"
  188.  
  189. /* RAM options */
  190. PARSE VAR UAE_CHIP NUM .;IF NUM<512 THEN NUM=NUM*1024;NUM=NUM/512;
  191.                          IF NUM~=4  THEN line = line "-c"NUM
  192. PARSE VAR UAE_SLOW NUM .;IF NUM=512  THEN line=line "-s2"
  193.                          IF NUM=1024 THEN line=line "-s4"
  194. PARSE VAR UAE_FAST NUM .;IF upper(NUM)~='NONE' THEN line=line "-F"NUM
  195. PARSE VAR UAE_Z3   NUM .;IF NUM~=0 THEN line=line "-Z"NUM
  196. IF OPEN(ROM,UAE_ROM,'R') THEN DO
  197.   line=line "-r"UAE_ROM;
  198.   call close(ROM);
  199. end
  200.  
  201. /* DISKS */
  202. UAE_VMOU1=compress(UAE_VMOU1,":")
  203. UAE_VMOU2=compress(UAE_VMOU2,":")
  204. IF UAE_DF0~="" THEN line=line "-0"UAE_DF0
  205. IF UAE_DF1~="" THEN line=line "-1"UAE_DF1
  206. IF UAE_DF2~="" THEN line=line "-2"UAE_DF2
  207. IF UAE_DF3~="" THEN line=line "-3"UAE_DF3
  208. IF UAE_VMOU1~="" & UAE_VPAT1~="" THEN line=line "-m"UAE_VMOU1":"UAE_VPAT1
  209. IF UAE_VMOU2~="" & UAE_VPAT2~="" THEN line=line "-m"UAE_VMOU2":"UAE_VPAT2
  210.  
  211. /* SOUND */
  212. UAE_SOUND=upper(UAE_SOUND)
  213. UAE_AUDMS=upper(UAE_AUDMS)
  214. UAE_AUDBI=upper(UAE_AUDBI)
  215. IF      UAE_SOUND="NONE" THEN line=line "-S0"
  216. ELSE IF UAE_SOUND="OFF"  THEN line=line "-S1"
  217. ELSE DO
  218.   IF UAE_SOUND="ON" THEN line=line "-S2"; ELSE line=line "-S3"
  219.   IF UAE_AUDMS="MONO" THEN line=line":m"; ELSE line=line":s"
  220.   IF UAE_AUDBI="8 BITS" THEN line=line":8"; ELSE line=line":16"
  221.   line=line":"||trunc(UAE_FREQ*11025/11)||":"UAE_BUFF*1024
  222. END
  223. IF OPEN(ZZZ,UAE_SFILE,"w") THEN DO
  224.   CALL CLOSE(ZZZ)
  225.   ADDRESS COMMAND "Delete >NIL: ENV:AUDIONAME"
  226.   ADDRESS COMMAND 'Setenv AUDIONAME "'UAE_SFILE'"'
  227. END
  228.  
  229. /* MISC */
  230. UAE_CPUT=upper(UAE_CPUT)
  231. IF upper(UAE_FBLT)="ON"    THEN line=line "-n3i"
  232. IF      UAE_CPUT="MC68K"   THEN line=line "-C0c"
  233. ELSE IF UAE_CPUT="68000"   THEN line=line "-C0"
  234. ELSE IF UAE_CPUT="68010"   THEN line=line "-C1"
  235. ELSE IF UAE_CPUT="68020"   THEN line=line "-C2"
  236. ELSE IF UAE_CPUT="020/881" THEN line=line "-C3"
  237. IF UAE_CPUR~=4  THEN line=line "-w"||UAE_CPUR
  238. IF UAE_SIFF~="" THEN DO
  239.   ADDRESS COMMAND 'Delete >NIL: ENV:UAEIFF'
  240.   ADDRESS COMMAND 'Setenv UAEIFF "'UAE_SIFF'"'
  241. END
  242. UAE_JOY0=upper(UAE_JOY0)
  243. UAE_JOY1=upper(UAE_JOY1)
  244. IF UAE_JOY0="MOUSE"    THEN ZZZ="-JM"
  245. IF UAE_JOY0="JOYSTICK" THEN ZZZ="-J0"
  246. IF UAE_JOY0="KEYPAD"   THEN ZZZ="-Ja"
  247. IF UAE_JOY0="ARROWS"   THEN ZZZ="-Jb"
  248. IF UAE_JOY1="MOUSE"    THEN ZZZ=ZZZ||"M"
  249. IF UAE_JOY1="JOYSTICK" THEN ZZZ=ZZZ||"0"
  250. IF UAE_JOY1="KEYPAD"   THEN ZZZ=ZZZ||"a"
  251. IF UAE_JOY1="ARROWS"   THEN ZZZ=ZZZ||"b"
  252. IF ZZZ~="-JM0" THEN line=line ZZZ
  253.  
  254. IF UAE_EXTRA~="" THEN line=line UAE_EXTRA
  255.  
  256. /* GUI ? */
  257. IF upper(UAE_GUI)="ENABLED" THEN DO
  258.    IF EXISTS("src/UAEGUI.rexx") THEN
  259.       ADDRESS COMMAND "Run >NIL: rx src/UAEGUI.rexx"
  260.    ELSE IF EXISTS("amiga/UAEGUI.rexx") THEN
  261.       ADDRESS COMMAND "Run >NIL: rx amiga/UAEGUI.rexx"
  262.    ELSE ADDRESS COMMAND "Run >NIL: rx UAEGUI.rexx"
  263. END
  264.  
  265. /* and run UAE */
  266. ADDRESS UAEWB 'QUIT'
  267. ADDRESS COMMAND
  268. TMP='t:UAEWB.'time('s')
  269. 'echo  >'TMP' "FailAt 21"'
  270. 'echo >>'TMP' "version >NIL: ppc.library"'
  271. 'echo >>'TMP' "IF NOT ERROR"'
  272. 'echo >>'TMP' "  Set UAE uae.elf"'
  273. 'echo >>'TMP' "ELSE"'
  274. 'echo >>'TMP' "  Set UAE uae"'
  275. 'echo >>'TMP' "ENDIF"'
  276. 'echo >>'TMP' "echo Starting ''*E[1m$UAE'line'*E[0m''..."'
  277. 'echo >>'TMP' "Stack 32000"'
  278. 'echo >>'TMP' "$UAE'line'"'
  279. 'echo >>'TMP' "echo Exiting..."'
  280. 'echo >>'TMP' "Wait 10"'
  281. 'echo >>'TMP' "run >NIL: WAIT 5 +"'
  282. 'echo >>'TMP' "Delete 'TMP'"'
  283. 'echo >>'TMP' "Endcli"'
  284. 'Newcli "con:/160///UAE - Output window (Use GUI or CTRL-C to quit)/NOCLOSE" from 'TMP
  285. exit(0)
  286.  
  287. /* GET value and update prefs */
  288. get_val: PROCEDURE
  289.   PARSE ARG CMD, SET
  290.   address UAEWB CMD
  291.   GVAL=RESULT
  292.   call writeln(ENVFILE,CMD SET '"'||GVAL'"')
  293. return GVAL
  294.